package com.wanxi.polymorphic.controller;

import com.wanxi.polymorphic.model.Animal;
import com.wanxi.polymorphic.model.Cat;
import com.wanxi.polymorphic.model.DogModel;

import java.util.ArrayList;
import java.util.List;

public class MyTest {
    public static void main(String[] args) {
//        Cat cat=new Cat();
//        Cat cat = new Cat("猫", 11, 11);
//        System.out.println(cat.height);
//        cat.eat();
//        cat.eat(cat);
//        Dog dog = new Dog("狗", 2, 3);
//        System.out.println(dog.height);
//        dog.eat();
//        dog.eat(dog);
//        Cat cat = new Cat("猫", 11, 11);
//        cat.eat(cat);
//        Dog dog = new Dog("狗", 11, 11);
//        dog.eat(dog);
        Animal animal = new Cat("猫", 11, 11);
//        animal.sleep();
//        Cat cat = (Cat) animal;
//        cat.sleep();
//        try {
//            Dog dog = (Dog) animal;
//            dog.sleep();
//        }catch (Exception e){
//            e.printStackTrace();
//            System.out.println("不能将猫转换为狗");
//        }
//        System.out.println("-----------------");

//        只要是正确的才能进入if里面
//        instanceof 判断左边的是否是右边的父类
        if (animal instanceof DogModel) {
            DogModel dog = (DogModel) animal;
            dog.sleep();
            System.out.println("true");
        }else {
            System.out.println("false");
        }

    }
}
